<?php //
include_once("Conexion.php");

class M_Pagina {
    //Variable de la clase
    private $idUsuario;
    private $idPagina;
    private $nombre;
    private $usuCreac;
    private $usuModif;
    private $url;
    private $imagen;
    private $idRol;
    private $idModulo;
    private $orden;
    //Metodo utilizado para obtener todos los Roles
    function searchPaginas_Uno() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = "select distinct id_pagina, pagina, url, orden, imagen from vis_perfil per inner join vis_formularioxrol fxp on fxp.id_rol=per.id_rol where id_usuario='$this->idUsuario' and id_modulo=$this->idModulo order by orden ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function deletePagina() {

            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //mysql_query("BEGIN", $cn);
            //Elaboramos la sentencia
           $sql = " update tbl_pagina set eliminado = true  where id_pagina = $this->idPagina";
          
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
           
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
            //    mysql_query("ROLLBACK", $cn);
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
              //  mysql_query("COMMIT", $cn);
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        
        return $rpta;
    }
    
    function searchPaginas_All() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT id_pagina, id_modulo, nombre, url, orden FROM rrhh.tbl_pagina where eliminado = false order by id_modulo,orden ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    //Creado por: JLOZANO (V_Paginas, )
    function searchPaginas_All2() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT pag.id_pagina, pag.id_modulo, pag.nombre as pagina, mod.nombre as modulo, pag.creadopor, pag.creado, pag.actualizadopor, pag.actualizado, pag.url, pag.orden, pag.imagen FROM tbl_pagina as pag JOIN tbl_modulo as mod ON pag.id_modulo = mod.id_modulo where pag.eliminado = false order by id_modulo,orden ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function searchPaginasporId() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT pag.id_pagina, pag.id_modulo, pag.nombre as pagina, mod.nombre as modulo, pag.creadopor, pag.creado, pag.actualizadopor, pag.actualizado, pag.url, pag.orden, pag.imagen FROM tbl_pagina as pag JOIN tbl_modulo as mod ON pag.id_modulo = mod.id_modulo where id_pagina = $this->idPagina ";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function searchModulos_Paginas_All() {
        //Le deciamos que la locacion es lenguaje español
        setlocale(LC_CTYPE, 'es');
        //La sentencia a ejecutar
        $sql = " SELECT * FROM vis_pagina";
        try {
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Ejecutamos la sentencia
            $rs = pg_query($cn,$sql);
            //Creamos un array que almacenara los datos de la sentencia
            $registros = array();
            //Recorremos el resultado de la consulta y lo almacenamos en el array
            while ($reg = pg_fetch_array($rs)) {
                array_push($registros, $reg);
            }
            //Liberamos recursos
            pg_free_result($rs);
            pg_close($cn);
        } catch (exception $e) {
            try {
                pg_free_result($rs);
            } catch (exception $e) {

            }
            try {
                pg_close($cn);
            } catch (exception $e) {

            }
        }
        return $registros;
    }
    
    function insertPagina(){
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //pg_query($cn,"BEGIN");
            //
            //Elaboramos la sentencia
//            $sql = "insert into tbl_pagina(id_modulo, nombre, creadopor, creado, eliminado, url) values(1, 'Paginucha', 'Yo', now(),  false, 'Paginas')";
            $sql = "insert into tbl_pagina(id_modulo, nombre, creadopor, creado, eliminado, url, imagen) values($this->idModulo, '$this->nombre', '$this->usuCreac', now(),  false, '$this->url', '$this->imagen')";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
              //  pg_query($cn,"ROLLBACK");
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
               // pg_query($cn,"COMMIT");
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        return $rpta;
    }
    
    function updatePagina(){
            //Creamos un objeto de la clase conexion
            $miconexion = new Conexion();
            //Obtenemos la conexion
            $cn = $miconexion->conectar();
            //Comenzamos la transaccion
            //pg_query($cn,"BEGIN");
            //
            //Elaboramos la sentencia
            $sql = " update tbl_pagina set id_modulo = $this->idModulo, nombre = '$this->nombre', actualizadopor = '$this->usuModif',actualizado = now(), url = '$this->url', imagen = $this->imagen where id_pagina = $this->idPagina";
            //Ejecutamos la sentencia
            $result = pg_query($cn,$sql);
            if (!$result) {
                //Si no obtiene resultados anulamos la transaccion
              //  pg_query($cn,"ROLLBACK");
                $rpta = false;
            } else {
                //Si obtiene resultados confirmamos la transaccion
               // pg_query($cn,"COMMIT");
                $rpta = true;
            }
            //Cerramos la conexion
            pg_close($cn);
        
        return $rpta;
    }
    
    // FUNCIONES GET
    
    function getId_Pagina() {
        return $this->idPagina;
    }
    
    function getId_Modulo() {
        return $this->idModulo;
    }
    
    function getNombre() {
        return $this->nombre;
    }
    
    function getUsuCreac() {
        return $this->usuCreac;
    }
    
    function getUsuModif() {
        return $this->usuModif;
    }
    
    function getUrl() {
        return $this->url;
    }
    
    function getImagen() {
        return $this->imagen;
    }
    
    function getOrden() {
        return $this->orden;
    }
    
    // FUNCIONES SET    
    function setId_Usuario($id_usuario) {
        $this->idUsuario = $id_usuario;
    }
    
    function setId_Rol($id_rol) {
        $this->idRol = $id_rol;
    }
    
    //VARIABLES DE LA TABLA PAGINA
    
    function setId_Pagina($var) {
        $this->idPagina = $var;
    }
    
    function setId_Modulo($id_modulo) {
        $this->idModulo = $id_modulo;
    }
            
    function setNombre($var) {
        $this->nombre = $var;
    }
    
    function setImagen($var) {
        $this->imagen = $var;
    }
    
    function setUrl($var) {
        $this->url = $var;
    }
    
    function setOrden($var) {
        $this->orden = $var;
    }
    
    function setUsuCreac($usuario) {
        $this->usuCreac = $usuario;
    }
    
    function setUsuModif($usuario) {
        $this->usuModif = $usuario;
    }
}
?>